package com.huidu.bitrade.vo;

import com.alibaba.fastjson2.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.huidu.bitrade.util.MoneySerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class ExchangeOrderExpandListVO {

    @ApiModelProperty(hidden = true)
    private Long id;

    @ApiModelProperty(hidden = true)
    private String orderId;

    @ApiModelProperty("平台币手续费")
    @JsonSerialize(using = MoneySerializer.class)
    private BigDecimal platformFee;

    @ApiModelProperty("收入代币中扣的手续费")
    @JsonSerialize(using = MoneySerializer.class)
    private BigDecimal incomeFee;

    @ApiModelProperty("收入代币中扣的手续费")
    private String incomeSymbol;

    @ApiModelProperty("均价")
    @JsonSerialize(using = MoneySerializer.class)
    private BigDecimal avgPrice;

    @ApiModelProperty("成交数量")
    @JsonSerialize(using = MoneySerializer.class)
    private BigDecimal transactionNumber;

    @ApiModelProperty("成交额")
    @JsonSerialize(using = MoneySerializer.class)
    private BigDecimal transactionAmount;

    @ApiModelProperty("委托时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Long createTime;

    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Long updateTime;

    @ApiModelProperty("下单和成交信息")
    private ExchangeOrderDTO exchangeOrder;

    @ApiModelProperty("交易明细")
    private List<ExchangeOrderExpandDetailVO> list;
}
